package com.ruoyi.app.converter;

import com.ruoyi.app.domain.project.ProjectDetail;
import com.ruoyi.app.domain.project.ProjectObj;
import com.ruoyi.app.domain.project.ProjectSimple;
import com.ruoyi.app.domain.project.change.ProjectChangeRecord;
import com.ruoyi.service.project.entity.ProjectEntity;
import com.ruoyi.service.project.entity.ProjectExtEntity;
import com.ruoyi.service.project.entity.ProjectLogEntity;
import org.mapstruct.Mapper;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;

/**
 * <p>
 * 作用：公司信息转换器
 * </p>
 *
 * @author Zane
 * @since 2025-10-05 8:05
 */
@Mapper(uses = {})
public interface ProjectConverter {

  ProjectConverter INSTANCE = Mappers.getMapper(ProjectConverter.class);

  /**
   * 模型类转换成实体类
   */
  @Mappings({})
  ProjectEntity toProjectEntity(ProjectObj projectObj);

  /**
   * 模型类转换扩展表
   */
  @Mappings({})
  ProjectExtEntity toProjectExtEntity(ProjectObj projectObj);


  /**
   * 实体类转换成模型类
   */
  @Mappings({})
  ProjectObj toProjectObj(ProjectEntity projectEntity);

  /**
   * 模型类转换扩展表
   */
  @Mappings({})
  ProjectSimple toProjectSimple(ProjectEntity projectEntity);

  /**
   * 实体转换成模型
   */
  @Mappings({})
  ProjectDetail toProjectDetail(ProjectEntity projectEntity);


  @Mappings({})
  ProjectChangeRecord toProjectChangeRecord(ProjectLogEntity projectLogEntity);
}
